
//=======================================================================
//@c莞Ԃ\֐WłB
//@̃t@Cinclude_functionŎ荞ނA
//@KvȕRsyĎgpĂB
//=======================================================================

//=======================================================================
//  摜ւ̃pX \Ⴄꍇ͗vύX
//-----------------------------------------------------------------------
let imgtimer = GetCurrentScriptDirectory()~ ".\img\Namber.png";
//=======================================================================

//-----------------------------------------------------------------------
//  c莞ԕ\ [IWi] [th11`th12ɋ߂`]
//-----------------------------------------------------------------------
task DrawTimer {

	let id     = [Obj_Create(OBJ_EFFECT), Obj_Create(OBJ_EFFECT), Obj_Create(OBJ_EFFECT), Obj_Create(OBJ_EFFECT)];
	let rect1  = [  0, 16, 32, 48, 64, 80, 96,112,128,144];
	let rect2  = [ 16, 32, 48, 64, 80, 96,112,128,144,160];
	let rgb    = [255,255,255];
	let ms     = GetTimer*60*(100/60);
	let timer1 = 9;
	let timer2 = 9;
	let timer3 = 9;
	let timer4 = 9;
	let i      = 0;
	
	LoadGraphic(imgtimer);
	
	loop(4) {
		ObjEffect_SetTexture(id[i],imgtimer);
		ObjEffect_SetLayer(id[i],6);
		ObjEffect_SetPrimitiveType(id[i],PRIMITIVE_TRIANGLESTRIP);
		ObjEffect_CreateVertex(id[i],4);
		ObjEffect_SetVertexXY(id[i],0,-8,-16);
		ObjEffect_SetVertexXY(id[i],1,-8, 16);
		ObjEffect_SetVertexXY(id[i],2, 8,-16);
		ObjEffect_SetVertexXY(id[i],3, 8, 16);
		i++;
	}

	ObjEffect_SetScale(id[2],0.5,0.5);
	ObjEffect_SetScale(id[3],0.5,0.5);
	Obj_SetPosition(id[0],GetCenterX+178   ,GetClipMinY+17);
	Obj_SetPosition(id[1],GetCenterX+178-12,GetClipMinY+17);
	Obj_SetPosition(id[2],GetCenterX+178+17,GetClipMinY+21);
	Obj_SetPosition(id[3],GetCenterX+178+10,GetClipMinY+21);

	loop {
		i = 0;
		ms -= 100/60;
		timer1 = truncate(GetTimer%10);
		timer2 = truncate((GetTimer%100)/10);
		timer3 = truncate(ms%10);
		timer4 = truncate((ms%100)/10);

		if(GetTimer<10) { rgb = [255,128,128]; }
		if(GetTimer< 5) { rgb = [255, 96, 96]; }
		if(GetTimer>99) { timer1 = 9; timer2 = 9; timer3 = 9; timer4 = 9; }
		if(ms < 100/59) { timer1 = 0; timer2 = 0; timer3 = 0; timer4 = 0; }

		ObjEffect_SetVertexUV(id[0],0,rect1[timer1], 0);
		ObjEffect_SetVertexUV(id[0],1,rect1[timer1],32);
		ObjEffect_SetVertexUV(id[0],2,rect2[timer1], 0);
		ObjEffect_SetVertexUV(id[0],3,rect2[timer1],32);
		ObjEffect_SetVertexUV(id[1],0,rect1[timer2], 0);
		ObjEffect_SetVertexUV(id[1],1,rect1[timer2],32);
		ObjEffect_SetVertexUV(id[1],2,rect2[timer2], 0);
		ObjEffect_SetVertexUV(id[1],3,rect2[timer2],32);
		ObjEffect_SetVertexUV(id[2],0,rect1[timer3], 0);
		ObjEffect_SetVertexUV(id[2],1,rect1[timer3],32);
		ObjEffect_SetVertexUV(id[2],2,rect2[timer3], 0);
		ObjEffect_SetVertexUV(id[2],3,rect2[timer3],32);
		ObjEffect_SetVertexUV(id[3],0,rect1[timer4], 0);
		ObjEffect_SetVertexUV(id[3],1,rect1[timer4],32);
		ObjEffect_SetVertexUV(id[3],2,rect2[timer4], 0);
		ObjEffect_SetVertexUV(id[3],3,rect2[timer4],32);
		loop(4) {
			ObjEffect_SetVertexColor(id[i],0,255,rgb[0],rgb[1],rgb[2]);
			ObjEffect_SetVertexColor(id[i],1,255,rgb[0],rgb[1],rgb[2]);
			ObjEffect_SetVertexColor(id[i],2,255,rgb[0],rgb[1],rgb[2]);
			ObjEffect_SetVertexColor(id[i],3,255,rgb[0],rgb[1],rgb[2]);
			i++;
		}
		yield;
	}
}

//-----------------------------------------------------------------------
//  c莞ԕ\ [th13`th14]
//-----------------------------------------------------------------------
task DrawTimerEx(type) {

	let id      = [Obj_Create(OBJ_EFFECT), Obj_Create(OBJ_EFFECT), Obj_Create(OBJ_EFFECT), Obj_Create(OBJ_EFFECT), Obj_Create(OBJ_EFFECT)];
	let rect1   = [  0, 16, 32, 48, 64, 80, 96,112,128,144];
	let rect2   = [ 16, 32, 48, 64, 80, 96,112,128,144,160];
	let rgb     = [255,255,255];
	let ms      = GetTimer*60*(100/60);
	let py      = 0;
	let i       = 0;
	let timer1  = 9;
	let timer2  = 9;
	let timer3  = 9;
	let timer4  = 9;
	let t_count = 0;
	let t_alpha = 255;
	
	LoadGraphic(imgtimer);
	
	loop(5) {
		ObjEffect_SetTexture(id[i],imgtimer);
		ObjEffect_SetLayer(id[i],7);
		ObjEffect_SetPrimitiveType(id[i],PRIMITIVE_TRIANGLESTRIP);
		ObjEffect_CreateVertex(id[i],4);
		ObjEffect_SetVertexXY(id[i],0,-8.0,-16.0);
		ObjEffect_SetVertexXY(id[i],1,-8.0, 16.0);
		ObjEffect_SetVertexXY(id[i],2, 8.0,-16.0);
		ObjEffect_SetVertexXY(id[i],3, 8.0, 16.0);
		i++;
	}
	ObjEffect_SetScale(id[2],0.5,0.5);
	ObjEffect_SetScale(id[3],0.5,0.5);
	ObjEffect_SetVertexUV(id[4],0,160, 0);
	ObjEffect_SetVertexUV(id[4],1,160,32);
	ObjEffect_SetVertexUV(id[4],2,176, 0);
	ObjEffect_SetVertexUV(id[4],3,176,32);

	alternative(type)
	case(2) { t_alpha = 0; }
	case(3,4) { t_count = 30; }

	loop {
		i = 0;
		ms -= 100/60;
		timer1 = truncate(GetTimer%10);
		timer2 = truncate((GetTimer%100)/10);
		timer3 = truncate(ms%10);
		timer4 = truncate((ms%100)/10);

		if(t_count < 90) { t_count+=2; }
		if(t_alpha <255) { t_alpha+=255/30; }
		if(GetTimer< 10) { rgb = [255,128,128]; }
		if(GetTimer<  5) { rgb = [255, 96, 96]; }
		if(GetTimer> 99) { timer1 = 9; timer2 = 9; timer3 = 9; timer4 = 9; }
		if(ms <  100/59) { timer1 = 0; timer2 = 0; timer3 = 0; timer4 = 0; }

		alternative(type)
		case(0) { py = -40*sin(t_count)+40*sin(90); }
		case(1) { py =  40*sin(t_count); }
		case(2) { py =  40*sin(30); }
		case(3) { py = -40*sin(t_count)+40*sin(90); }
		case(4) { py =  40*sin(t_count); }
		case(5) { py =  40*sin(90); }

		Obj_SetPosition(id[0],GetCenterX   ,GetClipMinY+11+py);
		Obj_SetPosition(id[1],GetCenterX-12,GetClipMinY+11+py);
		Obj_SetPosition(id[2],GetCenterX+22,GetClipMinY+15+py);
		Obj_SetPosition(id[3],GetCenterX+15,GetClipMinY+15+py);
		Obj_SetPosition(id[4],GetCenterX+8 ,GetClipMinY+11+py);
		ObjEffect_SetVertexUV(id[0],0,rect1[timer1], 0);
		ObjEffect_SetVertexUV(id[0],1,rect1[timer1],32);
		ObjEffect_SetVertexUV(id[0],2,rect2[timer1], 0);
		ObjEffect_SetVertexUV(id[0],3,rect2[timer1],32);
		ObjEffect_SetVertexUV(id[1],0,rect1[timer2], 0);
		ObjEffect_SetVertexUV(id[1],1,rect1[timer2],32);
		ObjEffect_SetVertexUV(id[1],2,rect2[timer2], 0);
		ObjEffect_SetVertexUV(id[1],3,rect2[timer2],32);
		ObjEffect_SetVertexUV(id[2],0,rect1[timer3], 0);
		ObjEffect_SetVertexUV(id[2],1,rect1[timer3],32);
		ObjEffect_SetVertexUV(id[2],2,rect2[timer3], 0);
		ObjEffect_SetVertexUV(id[2],3,rect2[timer3],32);
		ObjEffect_SetVertexUV(id[3],0,rect1[timer4], 0);
		ObjEffect_SetVertexUV(id[3],1,rect1[timer4],32);
		ObjEffect_SetVertexUV(id[3],2,rect2[timer4], 0);
		ObjEffect_SetVertexUV(id[3],3,rect2[timer4],32);
		loop(5) {
			ObjEffect_SetVertexColor(id[i],0,t_alpha,rgb[0],rgb[1],rgb[2]);
			ObjEffect_SetVertexColor(id[i],1,t_alpha,rgb[0],rgb[1],rgb[2]);
			ObjEffect_SetVertexColor(id[i],2,t_alpha,rgb[0],rgb[1],rgb[2]);
			ObjEffect_SetVertexColor(id[i],3,t_alpha,rgb[0],rgb[1],rgb[2]);
			i++;
		}
		yield;
	}
}

//-----------------------------------------------------------------------
//  JEg_E [th06`th14]
//-----------------------------------------------------------------------
task CountDown(se1,se2) {
	LoadSE(se1);
	LoadSE(se2);
	while(GetTimer>9) { yield; }
	loop {
	    if(GetTimer>4) { PlaySE(se1); }
	    else { PlaySE(se2); }
	    loop(60) { yield; }
	}
}